package com.first.controller;

import com.first.dao.DeptDao;
import com.first.entity.Deptn;
import com.first.util.LayTab;
import com.first.util.Result;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("dept")
public class  DeptController {
    @Resource
    private DeptDao deptDao;


    /**
     * 获取部门信息
     * @return
     */
    @RequestMapping("query")
    public LayTab queryDept(){
        List<Map> list = deptDao.queryAll();
        if(list!=null){
            LayTab layTab = new LayTab(list.size(),list);
            return layTab;
        }
        return new LayTab();
    }

    /**
     * 下拉框展示
     * @return
     */
    @RequestMapping("show")
    public LayTab showDept(Deptn deptn){
        List<Map> list = deptDao.showDept(deptn);
        int count = deptDao.queryAllCount(deptn);
        if(list!=null){
            LayTab layTab = new LayTab(count,list);
            return layTab;
        }
        return new LayTab();
    }


    /**
     * 新增部门
     * @param deptn
     * @return
     */
    @RequestMapping("/add")
    public Result addDept(Deptn deptn){
        Result result = new Result();
        if(deptn.getDeptid()==null){
            int i = deptDao.addDept(deptn);
            if(i==-2){
                result.setCode(0);
                result.setMsg("部门已存在");
            }else if(i>0){
                result.setCode(1);
                result.setMsg("添加成功");
            }else {
                result.setCode(0);
                result.setMsg("添加失败");
            }
        }else {
            int i=deptDao.updateDept(deptn);
            if(i>0){
                result.setCode(1);
                result.setMsg("修改成功");
            }else {
                result.setCode(0);
                result.setMsg("修改失败");
            }
        }
        return result;
    }

    /**
     * 获取部门详细信息
     * @param deptid
     * @return
     */
    @RequestMapping("deptUser")
    LayTab getDeptUser(Integer deptid){
        List<Map> list = deptDao.deptUser(deptid);
        if(list!=null){
            LayTab layTab = new LayTab(list.size(),list);
            return layTab;
        }
        return new LayTab();
    }
}
